//
//  WYRMeaasgeframe.m
//  10-21-快速搭建框架
//
//  Created by zzn on 2016/10/31.
//  Copyright © 2016年 lkx0. All rights reserved.
//

#import "WYRMeaasgeframe.h"
#import "WYRMessage.h"
#import "NSString+WYRStringToSize.h"
@implementation WYRMeaasgeframe

//重写message属性的set方法，用来设置每个frame
-(void)setMessage:(WYRMessage *)message{
    _message=message;
    //计算每个控件的frame和行高
    // frame和行高都是内部计算出来的，所以外面只能拿来用 ，不能修改成readonly
    //准备工作；
    //1.屏幕宽度
    CGFloat screeW=[UIScreen mainScreen].bounds.size.width;
    
    //2.统一的间距
    CGFloat margin=5;
    
    //正事
    //1.设置timelable的frame(x,y,w,h);
    CGFloat timeX=0;
    CGFloat timeY=0;
    CGFloat timeW=screeW;
    CGFloat timeH=15;
    
    _timeframe=CGRectMake(timeX, timeY, timeW, timeH);

    //2.设置头像的frame
    CGFloat iconW=30;
    CGFloat iconH=30;
    CGFloat iconY=CGRectGetMaxY(_timeframe)+margin;
    CGFloat iconX=(message.type==WYRMessageTypeMe)?(screeW-iconW-margin):margin;
    _iconframe=CGRectMake(iconX, iconY, iconW, iconH);
    
    //33.设置正文的frame
    //宽度，高度都由正文的内容来决定
    //3.1 计算正文的大小(将nsstring内容的文字转成cgsize类型)
    
    CGSize textSize=[message.text sizeOfTextWithMaxSize:CGSizeMake(200, MAXFLOAT)font:[UIFont systemFontOfSize:13]];
    
    CGFloat textW=textSize.width+60;
    CGFloat textH=textSize.height+30;
    //3.2 frame的x，y坐标和正文无关
    CGFloat textX=(message.type==WYRMessageTypeMe)?(screeW-margin-iconW-textW):(CGRectGetMaxY(_iconframe)+2);
    CGFloat textY=iconY+margin;
    _textFrame=CGRectMake(textX, textY, textW, textH);
    
    //行高设置
    CGFloat maxHeight=MAX(CGRectGetMaxY(_textFrame),CGRectGetMaxY(_iconframe));
    
    _rowHeight=maxHeight;
}

@end
